package cn.edu.zafu.bigdata.fui;
/*题目1：泛型方法实现求最大值
描述：编写一个泛型方法findMax，用于在列表中找到最大值。
要求：
1.创建一个泛型方法 T findMax(List<T> list)，返回列表中的最大元素。
2编写测试类，创建一个包含整数的列表和一个包含字符串的列表，并分别使用findMax方法查找最大值。
* */
import java.util.Arrays;
import java.util.List;
import java.util.ArrayList;

public class TestFindMax {

    public static <T extends Comparable<T>> T findMax(List<T> lists){
        if (lists.isEmpty()){
            throw new IllegalArgumentException("list is null");
        }

        T max = lists.get(0);

        if(lists.size() == 1){
            return max;
        }

        for(T item : lists){
            max = (max.compareTo(item) > 0) ? max : item;
        }
        return max;
    }
    public static void main(String[] args) {
        List<Integer> IntList = Arrays.asList(1,2,3,4,5);
//        List<Integer> IntList = new ArrayList<>();
        List<String> StrList = Arrays.asList("a","b","c","d","e");
        System.out.println(findMax(IntList));
        System.out.println(findMax(StrList));
    }
}
